package com.ehome.poct.core.dao.entity.check;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ehome.mybatisplus.autoconfigure.BaseEntityOld;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 金标仪 检测报告解析的病情的判读术语配置表
 */
@Data
@TableName(value = "test_conf_poct_analysis")
public class TestConfPoctAnalysisDO extends BaseEntityOld<TestConfPoctAnalysisDO> {
    /**
     * 主键ID
     */
    @TableId(value = "conf_poct_analysis_id")
    private Long confPoctAnalysisId;

    /**
     * 检测类型ID
     */
    @TableField(value = "strip_type_code")
    private Long stripTypeCode;

    /**
     * 检测类型码
     */
    @TableField(value = "strip_type_sub_code")
    private Integer subCode;

    /**
     * 检测类型码
     */
    @TableField(value = "strip_type_sub_name")
    private String subName;

    /**
     * 判读内容
     */
    @TableField(value = "content")
    private String content;

    /**
     * 检测的判读区间下限值
     */
    @TableField(value = "`min`")
    private BigDecimal min;

    /**
     * 检测的判读区间上限值
     */
    @TableField(value = "`max`")
    private BigDecimal max;

    /**
     * 试纸的批次号
     */
    @TableField(value = "strip_batch")
    private Integer stripBatch;

    /**
     * 结果落在这个区间的判读结果
     */
    @TableField(value = "`result`")
    private String result;

    /**
     * 给前端显示的颜色
     */
    @TableField(value = "color")
    private String color;

    /**
     * 做出这个判断的医生
     */
    @TableField(value = "doctor")
    private String doctor;

    /**
     * 同一个批次也有可能变更多次判读，最新的判读用此字段
     */
    @TableField(value = "isNow")
    private Integer isnow;

    /**
     * 判读使用的单位
     */
    @TableField(value = "unit")
    private String unit;

    /**
     * 备注
     */
    @TableField(value = "remarks")
    private String remarks;

    /**
     * 同一个批次下一个范围的排序值
     */
    @TableField(value = "sort")
    private Integer sort;

    /**
     * 患者类型 0 儿童 1 成年
     */
    @TableField(value ="patient_type")
    private Integer patientType;

    @TableField(value = "create_by", fill = FieldFill.INSERT)
    public Long createBy;
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    public LocalDateTime createTime;
    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
    public Long updateBy;
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    public LocalDateTime updateTime;


    /**
     * 逻辑最小值 用于判断
     */
    @TableField(value = "logic_min_value")
    private BigDecimal logicMinValue;

    /**
     * 逻辑最大值 用于判断
     */
    @TableField(value = "logic_max_value")
    private BigDecimal logicMaxValue;
}